Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción al CPU (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3, 4

Monografias.com
ARQUITECTURAS RISC: EJEMPLO MIPS64
11

Monografias.com
ARQUITECTURAS RISC: EJEMPLO MIPS64
12

Monografias.com
PARALELISMO A NIVEL DE INSTRUCCIÓN (ILP): EVOLUCIÓN
Etapas:
Búsqueda (Fetch)
Descodificación (Decode) y lectura de operandos
Ejecución (Execute)
Escritura del resultado (Writeback)
Esquema básico
Processing element (PE)
Contiene todas las etapas
Procesa las instrucciones secuencialmente
Segmentación
Solapamiento temporal de la ejecución de las instrucciones.
La unidad de procesamiento se divide en varias unidades funcionales que operan en paralelo
Cada etapa procesa una fase de la instrucción.
Las instrucciones se ejecutan secuencialmente
13

Monografias.com
UNIDAD CENTRAL DE PROCESO
Se encarga de ejecutar los programas almacenados en la memoria, para lo cual, realiza repetitivamente los siguientes procesos:

Lectura de la instrucción (fetch)
Descodificación (interpretación)
Lectura operandos (datos)
Ejecución
Escritura del resultado
en memoria
en el banco de registros
14

Monografias.com
UNA PRIMERA IDEA
(Gp:) ALU
(Gp:) MUX
(Gp:) Instr.
Memory
(Gp:) Reg File
(Gp:) MUX
(Gp:) MUX
(Gp:) Data
Memory
(Gp:) MUX
(Gp:) Sign
Extend
(Gp:) 4
(Gp:) Add
(Gp:) Zero?
(Gp:) PC
(Gp:) WB Data
(Gp:) Rs1
(Gp:) Rs2
(Gp:) Imm
(Gp:) Instr
(Gp:) CR
(Gp:) Rd
(Gp:) Descodif.

15

Monografias.com
BÚSQUEDA DE INSTRUCCIÓN (IF)
Memory
Access
Write
Back
Instruction
Fetch
Instr. Decode
Reg. Fetch
Execute
Addr. Calc
(Gp:) ALU

(Gp:) MUX

(Gp:) Instr.
Memory

(Gp:) Reg File

(Gp:) MUX

(Gp:) MUX

(Gp:) Data
Memory

(Gp:) MUX

(Gp:) Sign
Extend

4
Add
(Gp:) Zero?

(Gp:) PC

Rs1
Rs2
Imm
(Gp:) Instr

(Gp:) PC

(Gp:) PC

(Gp:) PC

(Gp:) AOR

(Gp:) SVR

(Gp:) ImR

(Gp:) AIR 2

(Gp:) AIR 1

(Gp:) CR

(Gp:) ARR

(Gp:) LMDR

(Gp:) RD

(Gp:) RD

(Gp:) RD

Rd
Se busca la instrucción a la que apunta el PC en la caché de instrucciones.
Se lleva al registro de instrucción.
Se lleva el PC al latch de interfaz entre etapas.
Se incrementa el PC en 4.
Se lleva de nuevo al PC.
Salvo que una instrucción previa de transferencia de control salto requiera su modificación, el multiplexor elije en este caso la dirección objetivo del salto.
16
MUX ALU

Monografias.com
DESCODIFICACIÓN Y LECTURA DE OPERANDOS (ID)
Se descodifica la instrucción en la 1ª mitad del ciclo.
Dependiendo del tipo de instr. se realiza lo siguiente en la 2ª mitad del ciclo:
Registro-registro (aritméticas/lógicas)
Se leen los registros Rs1 y Rs2 del banco de registros que se llevarán a la ALU.
Referencia a memoria (load/store)
Se lee el registro base de la dirección de memoria y se lleva a la entrada 1 de la alu.
Se extiende el signo al desplazamiento y se lleva a la ALU.
Si es un store se lee el registro a almacenar en memoria y se lleva a la entrada 2 de la alu.
Transferencia de control (branch)
Se extiende el signo al desplazamiento
Se lee el registro que determina la dirección base del salto.
Instr. Decode
Reg. Fetch
(Gp:) Reg File

(Gp:) Sign
Extend

Rs1
Rs2
Imm
(Gp:) Instr

Rd
Descodif.
data
17

Monografias.com
EJECUCIÓN O CÁLCULO DE DIRECCIÓN (EX)
La ALU ejecuta la operación sobre los datos:
Las entradas a la alu (arit./log)
El PC y el Imm (direc. de salto relativa a PC)
El Reg base y el Imm (direc de salto relativa a reg o direc de memoria)
Dependiendo del tipo de instr.:
Registro-registro (aritméticas/lógicas)
La salida de Alu contiene el resultado de la operación sobre los registros Rs1 y Rs2, y se lleva la salida.
Referencia a memoria (load/store)
La salida de Alu contiene la dirección efectiva de memoria (a leer o escribir).
Si es una instr store, el contenido del Rs 2 (reg a almacenar en mem) se lleva en paralelo.
Transferencia de control (branch)
La salida de Alu contiene la dirección efectiva del salto.
Se determina si la condición de salto se verifica o no y se lleva al condition reg (CR).
Execute
Addr. Calc
(Gp:) ALU

(Gp:) MUX

(Gp:) MUX

(Gp:) Zero?

(Gp:) CR

PC
Imm
18

Monografias.com
ACCESO A MEMORIA/ FINAL. DE SALTO (MEM)
Se realizan operaciones sólo en el caso de instrucciones load, store y branch:
Registro-registro (aritméticas/lógicas)
La salida de ALU se transfiere.
Dependiendo del tipo de instr.:
Referencia a memoria (load/store)
Load: se lee el dato de la caché de datos
Store: se escribe en la memoria (en la dirección efectiva calculada) el dato leído del banco de registros.
Transferencia de control (branch)
Tanto para los saltos incondicionales como para los condicionales tomados se modifica el PC de la etapa inicial IF por el contenido del registro de salida de la alu.
Para los saltos condicionales no tomados, el PC no se modificará. En el mux de la etapa IF se elije el Pc+4.
Memory
Access
(Gp:) Data
Memory

(Gp:) Zero?

(Gp:) CR

19

Monografias.com
FASE DE ESCRITURA DEL RESULTADO (WB)
Durante esta fase el resultado de la ejecución de una instrucción registro-registro o load a memoria es almacenado en el banco de registros de la etapa ID.
Dependiendo del tipo de instr.:
Registro-registro (aritméticas/lógicas)
El resultado de la ALU se escribe en el banco de registros de la etapa ID.
Referencia a memoria (load)
El dato leído de la memoria cache se escribe en el banco de registros de la etapa ID.
Write-Back
(Gp:) MUX

20

Monografias.com
BANCO DE REGISTROS
El banco de registros requiere:
Poder acceder a dos registros simultáneamente (2 operandos fuente) en lectura.
Poder escribir en un registro en la escritura.
Tiene tres entradas de direccionamiento de registros, una entrada para los datos a escribir y dos salidas para los registros leídos.
21

Monografias.com
RUTA DE DATOS BÁSICA
Ruta de datos monociclo: La frecuencia de reloj se debe seleccionar para poder ejecutar la instucción de mayor coste temporal.
Se retrasa la ejecución del resto de operaciones.

Dividiendo la ejecución de una instrucción en varias fases independientes, se mejora el rendimiento del procesador.
Cada instrucción solo ejecuta los ciclos que requiere.
La frecuencia de reloj es mayor.
? conduce a la segmentación
22

Monografias.com
SEGMENTACIÓN
Objetivo:
Incrementar la velocidad de ejecución utilizando múltiples unidades concurrentemente pero que preservan el orden original de las instrucciones. Puede ser invisible al programador y al compilador.
Método básico:
Dividir la ejecución de la instrucción en varias etapas y ejecutar cada etapa en una unidad diferente.
Observaciones:
Se suele utilizar un modelo “síncrono” para el control de los cauces (igual tiempo para cada etapa).
Entre las etapas se sitúan registros
Se suele utilizar un mecanismo de parada cuando resulta bloqueada alguna instrucción.
Ciclo de máquina: es el tiempo de ejecución en cada etapa del cauce (valores típicos: 1-2 CPU Cycles)
23

Monografias.com
EJEMPLO DE EJECUCIÓN SEGMENTADA
24
(Gp:) Memory
Access
(Gp:) Write
Back
(Gp:) Instruction
Fetch
(Gp:) Instr. Decode
Reg. Fetch
(Gp:) Execute
Addr. Calc
(Gp:) ALU
(Gp:) MUX
(Gp:) Instr.
Memory
(Gp:) Reg File
(Gp:) MUX
(Gp:) MUX
(Gp:) Data
Memory
(Gp:) MUX
(Gp:) Sign
Extend
(Gp:) 4
(Gp:) Add
(Gp:) Zero?
(Gp:) PC
(Gp:) WB Data
(Gp:) Rs1
(Gp:) Rs2
(Gp:) Imm
(Gp:) PC
(Gp:) Instr
(Gp:) PC
(Gp:) PC
(Gp:) PC
(Gp:) AOR
(Gp:) SVR
(Gp:) ImR
(Gp:) AIR 2
(Gp:) AIR 1
(Gp:) CR
(Gp:) ARR
(Gp:) LMDR
(Gp:) RD
(Gp:) RD
(Gp:) RD
(Gp:) Rd

Monografias.com
GANANCIA DE “PRESTACIONES”
A igualdad de tecnología, ¿qué ventaja se obtiene al usar una CPU segmentada?
Supongamos que la ejecución de una instrucción se divide en k etapas.
Cada etapa tarda un ciclo en ejecutarse.
Supongamos que el programa consta de n instrucciones (n grande)
La 1ª instrucción tarda en ejecutarse k ciclos (k etapas x 1 ciclo)
Las instrucciones posteriores finalizan en los ciclos siguientes
25

Monografias.com
TIEMPO DE RESPUESTA Y RENDIMIENTO
Tiempo de respuesta (latencia)
Tiempo entre en comienzo y la finalización de una tarea (observado por el usuario).
Response Time = CPU Time + Waiting Time (I/O, OS scheduling, etc.).

Throughput
Rendimiento.
Número de tareas por unidad de tiempo.

26

Monografias.com
Reducir el tiempo de ejecución mejora el rendimiento.
Ejemplo: usar una versión más rápida de un procesador.
Menos tiempo para realizar una tarea, más tareas por unidad de tiempo.

Mejorar el rendimiento mejora el tiempo de respuesta.
Ejemplo: aumentar el número de procesadores en un sistema multiprocesador.
Más tareas ejecutadas en paralelo.
No cambia el tiempo de ejecución de las tareas secuenciales individuales.
Pero el tiempo de espera es menor, por lo que el tiempo de respuesta se reduce.
27
TIEMPO DE RESPUESTA Y RENDIMIENTO

Monografias.com
DEFINICIÓN DE PRESTACIONES
Para un programa corriendo en X:

X es n veces más rápida que Y si:

28

Monografias.com
¿QUÉ ES EL TIEMPO DE EJECUCIÓN?
Tiempo transcurrido real:
No
I/O, S.O.,etc. no interesan.

Tiempo de ejecución de la CPU
Tiempo transcurrido ejecutando instrucciones del programa.
No cuentan las I/O ni S.O.
Medido en segundos o ciclos de reloj de la CPU.
29

Monografias.com
CICLOS DE RELOJ
Clock cycle = Clock period = 1 / Clock rate = cycle time

Clock rate = Clock frequency = Cycles per second
1 Hz = 1 cycle/sec 1 KHz = 103 cycles/sec
1 MHz = 106 cycles/sec 1 GHz = 109 cycles/sec
2 GHz clock has a cycle time = 1/(2×109) = 0.5 nanosecond (ns)
30

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter